package com.kuaidao.common.mapper;

import java.util.List;
import java.util.Map;

public interface IBaseCRUD <E, K>{
    /**
     * 保存
     *
     * @param entity
     * @returnn
     */
    boolean insert(E entity);

    /**
     * 更新
     *
     * @param entity
     * @return
     */
    boolean update(E entity);

    /**
     * 参数
     *
     * @param primaryKey
     * @return
     */
    boolean deleteByPrimaryKey(K primaryKey);

    /**
     * 批量删除
     *
     * @param keys
     * @return
     */
    boolean deleteBatchByPrimaryKeyList(List<K> keys);

    /**
     * 查询单个
     *
     * @param primaryKey
     * @return
     */
    E findByPrimaryKey(K primaryKey);

    /**
     * 按条件查询
     *
     * @param paramMap
     * @return
     */
    List<E> findEntityListByParams(Map<String, Object> paramMap);

}
